Custom Instruction Sets for Code Compression
نویسنده
چکیده
We describe a C compiler tailored to save space in executables. It accepts an arbitrary C program and customizes for it a compact interpreter and interpretive code. In a typical application, the compiler halves its own size. We have written programs that collaborate to compile an arbitrary C program into a compact interpreter and interpretive code. It improves on prior efforts to automatically tailor a compact interpreter and interpretive code for an arbitrary input. Most optimizers try to save time, even at the expense of space, but some important applications benefit from the opposite trade-off:
منابع مشابه
High Performance, Variable-Length Instruction Encodings
Minimizing program code size reduces power consumption and space, which is especially important in embedded systems. Existing variable-length instruction formats provide higher code densities than fixed-length formats, but are ill-suited to pipelined or parallel instruction fetch and decode. This thesis presents a new variable-length instruction format that supports parallel fetch and decode of...
متن کاملAcceleration of block-matching algorithms using a custom instruction-based paradigm on a Nios II microprocessor
This contribution focuses on the optimization of matching-based motion estimation algorithms widely used for video coding standards using an Altera custom instruction-based paradigm and a combination of synchronous dynamic random access memory (SDRAM) with on-chip memory in Nios II processors. A complete profile of the algorithms is achieved before the optimization, which locates code leaks, an...
متن کاملBitmask aware compression of NISC control words
It is not always feasible to implement an application specific custom hardware due to cost and time considerations. No instruction set compiler (NISC) architecture is one of the promising directions to design a custom datapath for each application using its execution characteristics. A major challenge with NISC control words is that they tend to be at least 4–5 times larger than regular instruc...
متن کاملSAMC: a code compression algorithm for embedded processors
In this paper we present a method for reducing the memory requirements of an embedded system by using code compression. We compress the instruction segment of the executable running on the embedded system and we show how to design a run-time decompression unit to decompress code on the y before execution. Our algorithm uses arithmetic coding in combination with a Markov model which is adapted t...
متن کاملCode Generation for Custom Architectures using Constraint Programming
As custom multicore architectures become more and more common for DSP applications, instruction selection and scheduling for such applications and architectures become important topics. In this paper, we explore the effects of defining the problem of finding an optimal instruction selection and scheduling as a constraint satisfaction problem (CSP). We incorporate methods based on sub-graph isom...
متن کامل